package com.ksd.pug.service.sysloginuser;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ksd.pug.pojo.Permission;
import com.ksd.pug.pojo.Role;
import com.ksd.pug.pojo.SysLoginUser;
import com.ksd.pug.vo.SysLoginUserVo;

import java.util.List;

/**
 * ISysLoginUserService接口
 * 创建人:yykk<br/>
 * 时间：2022-05-06 23:52:17 <br/>
 * 源码下载：前台代码 git clone https://gitee.com/kekesam/kuangstudy-pug-ui.git
 * 飞哥B站地址：后台代码 git clone https://gitee.com/kekesam/kuangstudy-pug-parent.git
 * @version 1.0.0<br/>
 *
*/
public interface ISysLoginUserService extends IService<SysLoginUser>{

    /**
     * 根据用户查询对应的角色
     * @param userid
     * @return
     */
    List<Role> findSysRoleByUserId(Long userid);

    /**
     * 查询用户对应的权限
     * @param userid
     * @return
     */
    List<Permission> findBySysPermissionUserId(Long userid);


    /**
     * 查询用户管理列表信息
     * @method: findSysLoginUserList
     * @result : List<SysLoginUser>
     * 创建人:yykk
     * 创建时间：2022-05-06 23:52:17
     * @version 1.0.0
     * @return
     */
    List<SysLoginUser> findSysLoginUserList() ;

	/**
     * 查询用户管理列表信息并分页
     * 方法名：findSysLoginUsers<br/>
     * 创建人：yykk <br/>
     * 时间：2022-05-06 23:52:17<br/>
     * @param sysloginuserVo
     * @return IPage<SysLoginUser><br />
     * @throws <br/>
     * @since 1.0.0<br />
    */
	IPage<SysLoginUser> findSysLoginUserPage(SysLoginUserVo sysloginuserVo);

    /**
     * 保存&修改用户管理
     * 方法名：saveupdateSysLoginUser<br/>
     * 创建人：yykk <br/>
     * 时间：2022-05-06 23:52:17<br/>
     * @param sysloginuser 
     * @return SysLoginUser<br />
     * @throws <br/>
     * @since 1.0.0<br />
    */
    SysLoginUser saveupdateSysLoginUser(SysLoginUser sysloginuser);

    /**
     * 根据Id删除用户管理
     * 方法名：deleteSysLoginUserById<br/>
     * 创建人：yykk <br/>
     * 时间：2022-05-06 23:52:17<br/>
     * @param id
     * @return int <br />
     * @throws <br/>
     * @since 1.0.0<br />
     */
    int deleteSysLoginUserById(Long id) ;

    /**
     * 根据Id查询用户管理明细信息
     * 方法名：getSysLoginUserById<br/>
     * 创建人：yykk <br/>
     * 时间：2022-05-06 23:52:17<br/>
     * @param id
     * @return SysLoginUser <br />
     * @throws <br/>
     * @since 1.0.0<br />
    */
    SysLoginUser getSysLoginUserById(Long id);

    /**
     * 根据用户管理ids批量删除用户管理
     * 方法名：delBatchSysLoginUser<br/>
     * 创建人：yykk <br/>
     * 时间：2022-05-06 23:52:17<br/>
     * @param ids
     * @return boolean <br />
     * @throws <br/>
     * @since 1.0.0<br />
    */
    boolean delBatchSysLoginUser(String ids);

}